home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-07-15 | 4.9 KB | 132 lines | [TEXT/MPS ] |
- # Script: NewRunMenu
-
- # A dynamically customizable menu for sublaunching commonly used files.
- # To install, type NewRunMenu in the Worksheet window and hit Enter.
-
- # This adds a "Run" menu to the MPW menu bar. It also creates a file called
- # UserStartup•RunMenu in the MPW folder (or the MPW PrefsFolder, if using MPW
- # 3.3 or newer), to re-create the menu each time you load MPW.
- # UserStartup•RunMenu is updated every time you add an item to the menu
-
- # When you select Add Application, you can choose any application and specify
- # how it should appear on the menu. When you select Add Document, you can
- # select a document, an application to open it with, and how it should
- # appear on the menu.
-
- # The Run menu does not provide for DELETING an item. To do that, open the
- # UserStartup•RunMenu file and delete the unwanted Addmenu lines.
-
- # Important typographic notes:
-
- # 1) The Add Application and Add Document menu item names start with one space,
- # so they sort alphabetically to the top of the menu.
-
- # 2) The script for each AddMenu item is one long, continued command, so
- # most of the lines end with semi-colon ; and option-d ∂ characters.
-
- # 3) Some of the prompt strings that appear in this script contain underscores.
- # I did this so they would be visible on a printed page. However, in my
- # working copy of the script, the underscores are replaced with non-breaking
- # spaces (typed in MPW as option-space). Strings containing non-breaking
- # spaces don't have to be placed in quotes.
-
- # 4) Any place you see ... in this script, it really is 3 periods, not the
- # option-colon ellipsis … character.
-
- # 5) Quote " apostrophe ' and grave accent ` are not interchangeable!
-
- Set Exit 0
-
- DeleteMenu Run ∑ Dev:Null
-
- # "Add Application..." presents a Standard GetFile dialog, filtered for
- # applications only. After you choose an application, it prompts you for
- # how the item should appear in the menu. The default is the full path
- # and filename, which I usually edit to just the filename.
-
- AddMenu Run ' Add Application...' ∂
- 'Begin ; ∂
- Set Exit 0 ; ∂
- Set menuChanged 0 ; ∂
- Set theAppl "`getfilename -b Add -m Select_application... -t APPL`" ; ∂
- Exit If {theAppl} == "" ; ∂
- Set menuItem "`request -d {theAppl} How_should_the_menu_item_read...`" ; ∂
- Exit If {menuItem} == "" ; AddMenu Run "{menuItem}" "{theAppl}" ; ∂
- Set menuChanged 1 ; ∂
- Unset theAppl ; ∂
- Unset menuItem ; ∂
- If ({menuChanged}) ; ∂
- Set savedDir `Directory` ; ∂
- Directory "{MPW}" ; ∂
- Echo Set Exit 0 >"{PrefsFolder}"UserStartup•RunMenu ; ∂
- Echo DeleteMenu Run ∂∑ Dev:Null >> "{PrefsFolder}"UserStartup•RunMenu ; ∂
- AddMenu Run | Sort -u -quote >> "{PrefsFolder}"UserStartup•RunMenu ; ∂
- Echo Set Exit 1 >> "{PrefsFolder}"UserStartup•RunMenu ; ∂
- Execute "{PrefsFolder}"UserStartup•RunMenu ; ∂
- Directory "{savedDir}" ; ∂
- Unset savedDir ; ∂
- End ; ∂
- Unset menuChanged ; ∂
- Set Exit 1 ; ∂
- End ∑ Dev:Null'
-
- # Add Document... works a lot like Add Application..., except that you are
- # prompted to select TWO files. The first can be any document, the second
- # must be an application which can open that document.
-
- AddMenu Run ' Add Document...' ∂
- 'Begin ; ∂
- Set Exit 0 ; ∂
- Set menuChanged 0 ; ∂
- Set theDoc "`getfilename -m Select_document_to_open...`" ; ∂
- Exit If {theDoc} == "" ; ∂
- Set theAppl "`getfilename -b With -m To_open_with... -t APPL`" ; ∂
- Exit If {theAppl} == "" ; ∂
- Set menuItem "`request -d {theDoc} How_should_the_menu_item_read...`" ; ∂
- Exit If {menuItem} == "" ; ∂
- AddMenu Run "{menuItem}" "{theAppl} {theDoc}" ; ∂
- Set menuChanged 1 ; ∂
- Export menuChanged ; ∂
- Unset theAppl ; ∂
- Unset menuItem ; ∂
- If ({menuChanged}) ; ∂
- Set savedDir `Directory` ; ∂
- Directory "{MPW}" ; ∂
- Echo Set Exit 0 >"{PrefsFolder}"UserStartup•RunMenu ; ∂
- Echo DeleteMenu Run ∂∑ Dev:Null >> "{PrefsFolder}"UserStartup•RunMenu ; ∂
- AddMenu Run | Sort -u -quote >> "{PrefsFolder}"UserStartup•RunMenu ; ∂
- Echo Set Exit 1 >> "{PrefsFolder}"UserStartup•RunMenu ; ∂
- Execute "{PrefsFolder}"UserStartup•RunMenu ; ∂
- Directory "{savedDir}" ; ∂
- Unset savedDir ; ∂
- End ; ∂
- Unset menuChanged ; ∂
- Set Exit 1 ; ∂
- End ∑ Dev:Null'
-
- # Add a separator line, which will appear between the default and user
- # configured menu items.
-
- AddMenu Run '-' ''
-
- # Create the UserStartup•RunMenu file. This will be placed in either the
- # MPW folder, or MPW's PrefsFolder if using MPW 3.3 or newer.
-
- # The UserStartup•RunMenu contains all of the commands needed to initialize
- # the Run menu, without any formatting or script comments.
-
- Set savedDir `Directory`
- Directory "{MPW}"
- Echo Set Exit 0 > "{PrefsFolder}"UserStartup•RunMenu
- Echo DeleteMenu Run ∂∑ Dev:Null >> "{PrefsFolder}"UserStartup•RunMenu
- AddMenu Run >> "{PrefsFolder}"UserStartup•RunMenu
- Echo Set Exit 1 >> "{PrefsFolder}"UserStartup•RunMenu
- Directory "{savedDir}"
- Unset savedDir
-
- # Announce completion
-
- Alert -s Run Menu successfully installed.
-
- # End of NewRunMenu script
-